import util from './util.js';
import http from './http.js'

export default {
  /**
   * 用户授权
   */
  getUserInfo(e) {
    // 用户同意授权
    if (e.detail.userInfo) {
      // 将用户信息存储在缓存
      util.setStorageSync('jk_userInfo', e.detail.userInfo);
      // 存储iv
      util.setStorageSync('jk_iv', e.detail.iv)
      // 存储encryptedData
      util.setStorageSync('jk_encryptedData', e.detail.encryptedData)
      console.log(util.getStorageSync('jk_userInfo'))
      // 用户登录
      this.getAuthCode();
    } else {
      // 用户拒绝授权
      wx.showToast({
        icon: 'none',
        title: '您已拒绝授权，请重新点击登录',
      })
    }
  },
  /**
   * 授权获得sessionkey和openid
   */
  getAuthCode() {
    wx.login({
      success: (res) => {
        if (res.code) {
          http.post('/fuel/wx_request/authorizationCode',{
            code:res.code
          }).then(res => {
            console.log(res)
            if (res.code == '0000') {
              // 设置sessionkey和openid
              util.setStorageSync('jk_sessionKey', res.data.session_key);
              util.setStorageSync('jk_openid', res.data.openid);
              this.handleLogin()
            } else {
              wx.showToast({
                icon: 'none',
                title: '获取授权信息失败',
              })
            }
          })
        }
      }
    })
  },

  /**
   * 登录
   */
  handleLogin() {
    wx.showLoading({
      mask:true
    })
    let that = this
    // 请求后台
    http.post('/user/toLogin', {
      province: util.getStorageSync('jk_userInfo').province,
      city: util.getStorageSync('jk_userInfo').city,
      country: '', // 用户信息country为中国，不如不传
      imgUrl: util.getStorageSync('jk_userInfo').avatarUrl,
      nickName: util.getStorageSync('jk_userInfo').nickName,
      sex: util.getStorageSync('jk_userInfo').gender,

      // 登录的时候就要传给后台是否有推荐人id
      recommend: util.getStorageSync('jk_scene') || '',
      openid: util.getStorageSync('jk_openid'),
      encryptedData: util.getStorageSync('jk_encryptedData'),
      iv: util.getStorageSync('jk_iv'),
    }).then(res => {
      // 隐藏loading
      setTimeout(() => {
        wx.hideLoading()
      }, 300);
      console.log(res)
      // 返回数据判断
      if (res.code == '0000') {
        wx.showToast({
          icon:'success',
          title:'登录成功'
        })
        console.log(res)
        // 缓存用户信息
        util.setStorageSync('jk_member', res.data)
        // 存储当前登录的id，分享的时候需要用到
        util.setStorageSync('jk_memberId', res.data.userId)
        // 缓存token
        util.setStorageSync('jk_token', res.data.token)
        // 登录成功后删除缓存中推荐人id
        util.removeStorageSync('jk_scene');
      } else {
      }
    }).catch(error => {
      wx.hideLoading()
    })
  }
}